This invention relates generally to programmable logic controller (PLC) systems and, more particularly, to storage of multiple operating programs and data within a PLC system.
Known PLC systems are extensively used in process control applications. As a part of process control, the PLC system monitors input signals from a variety of inputs that report events and conditions occurring in a controlled process. For example, a PLC system can monitor such input conditions as motor speed, temperature, pressure, volumetric flow, as well as other conditions. A user program and pertinent data are stored in a memory within the PLC system to instruct the PLC system regarding what actions to take upon encountering particular input signals or conditions. In response to the input signals, the PLC system derives and generates output signals that are transmitted to various output devices to control the process. For example, based on the input signals, the PLC system issues output signals to speed up or slow down a motor, open or close a relay, raise or lower temperature or adjust pressure as well as many possible control functions.
A typical PLC system includes at least one option module that performs input/output (I/O) functions. Each option module typically has a plurality of input/output points. Any number of individual option modules may be employed within a PLC system and the control tasks distributed among them. The option modules are coupled through an interface bus, for example via a backplane, to a main controller having a microprocessor executing a user program. The main controller may also be in modular form. Option modules may also include a microprocessor and a memory containing separate user programs and data directed to a particular operation of the PLC system. These separate user programs are conventionally fixed at time of manufacture or are modifiable by the user through some local input device of the module. When an option module has separate user programs and data, information is exchanged between the main controller and the option modules of the PLC system. More specifically, commands and data are exchanged between the option modules and main controller utilizing a backplane or inter-connecting cabling to allow the system to operate in a coordinated fashion. However, as a result of the unique user programs and data in the individual option modules and main controller, configuration of the PLC system requires knowledge of multiple development software programs and the need to store information into the main controller and each option module independently. In addition, in the event of an option module failure, troubleshooting of the PLC system is complicated by independent operation of each microprocessor. In order to isolate the failure, the development software programs, typically residing on a separate computer, must be utilized, resulting in expensive downtime for the entire PLC system.